package com.hundsun.aitest.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.hundsun.aitest.model.ai.ChatRequest;

public interface LargeModelService {

    /**
     * 发送请求给大模型。
     *
     * @param chatRequest 包含请求信息的对象。
     * @return 大模型的响应字符串。
     * @throws JsonProcessingException 如果处理JSON时出现错误。
     */
    String sendRequest(ChatRequest chatRequest) throws JsonProcessingException;


    /**
     * 解析大模型的响应。
     *
     * @param response 大模型的原始响应字符串。
     * @return 解析后的结果。解析结果转成AutoCase对象，在prompt中要指定解析后的格式，和AutoCase的结构对应的json string。
     * @throws JsonProcessingException 如果处理JSON时出现错误。
     */
    String parseResponse(String response) throws JsonProcessingException;


    /**
     * 构建用于发送给大模型的prompt。
     *
     * @param userInput 用户提供的输入文本。
     * @return 构建完成的prompt文本。
     */
    String buildPrompt(String userInput,String interfaceDesc, String prepareData);

}

